<?php

//主类，控制界面载入，数据处理

class Main{
	//封装成员字段
	private $_index;
	private $_send;


	//构造方法，用来初始化数据
	//获取界面下标index的值
	public function __construct($_index=''){    //传入index字段
        $this->_index = $_index;
        //判断$_POST['send']是否存在，存在直接复制给$this->_send ，否则$this->_send就为空
        if(isset($_POST['send'])){
        	$this->_send = $_POST['send'];
        }
        
	}


	//总管
	public function _run(){
		//处理数据
        $this->_send();      //在类内调用$this,所以把$_main用$this代替

        //载入界面
        include $this->_ui();
	}


	//创建一个载入界面的方法
	//这个方法想获得login.class.php这个字符串
	private function _ui(){
		//判断$this->_index的值是否为空，为空就给个初始值start
		//还要判断$this->_index.'.inc.php'这个文件是否存在，不存在也给初始值start
		if(empty($this->_index) || !file_exists($this->_index.'.inc.php')){
			$this->_index = 'start';
		}
		return $this->_index.'.inc.php';
	}


	//创建一个方法来接收登录和注册发送的操作
	private function _send(){
		// return $this->_send;   //这里直接返回这个字段
		
		switch ($this->_send) {
			case '注册':
				$this->_exec(new Reg($_POST['username'],$_POST['password'],$_POST['notpassword'],$_POST['email']));
				break;
			case '登录':
				$this->_exec(new Login($_POST['username'],$_POST['password']));
				break;
			
		}
	}


    //创建一个执行的方法，里面传一个参数，是Reg或者Login类的对象引用
    private function _exec($_class){       //传入一个参数，根据传入的对象，去执行对应的方法
    	if($_class->_check()){

            $_class->_query();     //$_class是注册或者登录的对象

    	}else{
            // print_r($_POST);die;
    	    Tool::_alertBack('字段不能为空！');
    	}
        

    }

}














